//Figure 4: Artifacts & Associations //Author : Sriram Rajagopalan //Comments Table Comments { Artifact_Id integer Artifact_Type_Id integer Note: 'Stores links to the Artificts where comments are added' } //Artifacts Table ArtifactAssociations { Artifact_Link_Type_Id integer [pk] Source_Artifact_Id integer Source_Artifact_Type_Id integer Destination_Artifact_Id integer Destination_Artifact_Type_Id integer Note:'Contains Associations made with Artifacts' } Table ArtifactAttachments { Artifact_Id integer Artifact_Type_Id integer Attachment_Id integer Project_Id integer Note:'Containts Project Level Attachments to Artifacts' } Table ArtifactTypes { Artifact_Type_Id integer [pk] Note:'Containts Artifact Type Id' } Table ArtifactTags { Artifact_id integer [pk] Artifact_Type_Id integer Project_id integer Note:'Contacts tags for the artifacts' } //Attachments Table Attachments { Attachment_Id integer [pk] Project_Id integer Note:'Contains Project Level Attachments' } Table AttachmentFolders { Project_Attachment_Folder_Id integer [pk] Project_Id integer Parent_Project_Attachment_Folder_Id integer Note:'Contains Project Level Attachment Folder' } Table AttachmentVersions { Attachment_Version_Id integer [pk] Attachment_Id integer Project_id integer Change_Set_Id integer Note:'Contains version information of document attachments' } //Source Code Table SourceCodeAssociations { Artifact_Source_Code_Revision_Id integer [pk] Artifact_Type_Id integer Artifact_Id integer Note: 'Stores information related to source code association at the Artifact levels within the Product' } Table SourceCodeCommits { Version_Control_System_Id integer [pk] Project_Id integer Note: 'Stores source code commit information the Product level' } //Document Table DocumentStatues { Document_Status_Id integer [pk] Project_Template_Id integer Note: 'Stores document status at the Product Template level' } Table DocumentTypes { Document_Type_Id integer [pk] Project_Template_Id integer Note: 'Stores document type information at the Product Template level' } //Minimal Relationships //Artifacts Associations and Attachments Ref: "ArtifactTypes"."Artifact_Type_Id" - "ArtifactAssociations"."Source_Artifact_Type_Id" Ref: "ArtifactTypes"."Artifact_Type_Id" - "ArtifactAssociations"."Destination_Artifact_Type_Id" Ref: "ArtifactAttachments"."Attachment_Id" - "Attachments"."Attachment_Id" Ref: "ArtifactTypes"."Artifact_Type_Id" - "ArtifactAttachments"."Artifact_Type_Id" Ref: "Attachments"."Attachment_Id" - "AttachmentVersions"."Attachment_Id" //Artifact Tags Ref: "ArtifactTypes"."Artifact_Type_Id" - "ArtifactTags"."Artifact_Type_Id" //Comments Ref: "Comments"."Artifact_Type_Id" - "ArtifactTypes"."Artifact_Type_Id" Ref: "Comments"."Artifact_Id - "ArtifactAssociations"."Source_Artifact_Id" Ref: "Comments"."Artifact_Id - "ArtifactAttachments"."Artifact_Id" //Source Code Ref: "SourceCodeAssociations"."Artifact_Type_Id" - "ArtifactAttachments"."Artifact_Type_Id" Ref: "SourceCodeAssociations"."Artifact_Id" - "Comments"."Artifact_Id"